/******************************************************************************/
/*  Class CORE                                                                */
/*  PO: S. Maslyakov, rusoil.9@gmail.com                                      */
/*                                                                            */
/*  Revision:     1.1                                                         */
/*  Date:         2011/04/07 16:06:33                                         */
/******************************************************************************/


#ifndef __CORE_H
#define __CORE_H


#include "data_types.h"
#include "Core\core_def.h"




int putchar(int c);


//==============================================================================
//  Class CORE
//==============================================================================
class CORE
{
public:
  static void Init_Core();
  static void Init_Wdt();
  static void Init_Timer0();
  static void Init_Timer1();
  static void Init_Timer2();
  static void Init_Timer3();
  static void EnterCriticalSection();
  static void ExitCriticalSection();
  static void ClearWdt();
  static void ResetDevice();
  static void RunTimer1(const uint32_t _delay);
  static void RunTimer2(const uint32_t _delay);
  static void StopTimer2();

private:
  static void Init_Mam();
  static void Init_Pll();
  static void Init_Gpio();
};
//==============================================================================
//==============================================================================


#endif